/**
 * plugins/vuetify.ts
 *
 * Framework documentation: https://vuetifyjs.com`
 */

// Translations provided by Vuetify
import { useI18n } from 'vue-i18n'
// Composables
import { createVuetify } from 'vuetify'
import { md3 } from 'vuetify/blueprints'
import { VListItem } from 'vuetify/components/VList'
import { aliases, mdi } from 'vuetify/iconsets/mdi-svg'
import { createVueI18nAdapter } from 'vuetify/locale/adapters/vue-i18n'

import colors from 'vuetify/util/colors'
import i18n from '@/plugins/i18n'
// Styles
import 'vuetify/styles'
import '@/styles/global.css'
import { systemState } from 'global-state'

// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
export default createVuetify({
  locale: {
    adapter: createVueI18nAdapter({ i18n, useI18n })
  },
  aliases: {
    VListSidebarItem: VListItem
  },
  defaults: {
    // 一步到位：所有支持 density 的组件默认都使用 compact
    global: { density: 'compact' },
    VBtn: {
      density: 'comfortable'
    },
    // 侧边栏列表项默认（保留原有配置）
    VListSidebarItem: {
      link: true,
      lines: false,
      nav: true,
      class: 'v-list-sidebar-item app-no-drag',
      baseColor: 'rgb(var(--v-theme-on-tab-base))',
      color: 'rgb(var(--v-theme-on-tab-active))'
    }
  },
  blueprint: md3,
  theme: {
    defaultTheme: systemState.state.theme,

    themes: {
      light: {
        colors: {
          background: '#f3f3f3',
          surface: colors.shades.white,
          primary: colors.orange.darken4,
          // Tab 导航栏颜色定义
          'tab-active': '#F7F7F7', // Tab 活动状态背景色
          'tab-base': '#D3E3FD', // Tab 底色/非活动状态背景色
          'on-tab-active': colors.shades.black, // Tab 活动状态文字颜色
          'on-tab-base': colors.grey.darken3, // Tab 底色文字颜色

          // 邮箱 Mail 专用颜色（light）
          'mail-primary': colors.deepPurple.darken4,
          'mail-list-active': colors.deepPurple.darken3,
          'on-mail-list-active': colors.shades.white,
          'mail-list-hover': colors.deepPurple.lighten4,

          // 日历 Calendar 专用颜色（light）
          'calendar-primary': colors.blue.darken4,
          'calendar-list-active': colors.blue.darken3,
          'on-calendar-list-active': colors.shades.white,
          'calendar-list-hover': colors.blue.lighten4
        }
      },
      dark: {
        colors: {
          background: '#212121',
          surface: '#2f2f2f',
          primary: colors.orange.darken2,
          secondary: colors.orange.lighten1,
          // Tab 导航栏颜色定义
          'tab-active': colors.grey.darken3, // Tab 活动状态背景色
          'tab-base': colors.grey.darken4, // Tab 底色/非活动状态背景色
          'on-tab-active': colors.shades.white, // Tab 活动状态文字颜色
          'on-tab-base': colors.grey.lighten1, // Tab 底色文字颜色

          // 邮箱 Mail 专用颜色
          'mail-primary': colors.deepPurple.darken4, // 主色：deep-purple-darken-4 (#311B92)
          'mail-list-active': colors.deepPurple.darken3, // 列表选中背景
          'on-mail-list-active': colors.shades.white, // 列表选中文字颜色
          'mail-list-hover': colors.deepPurple.darken2, // 列表悬停背景

          // 日历 Calendar 专用颜色
          'calendar-primary': colors.blue.darken4, // 主色：blue-darken-4 (#0D47A1)
          'calendar-list-active': colors.blue.darken4, // 列表选中背景
          'on-calendar-list-active': colors.shades.white, // 列表选中文字颜色
          'calendar-list-hover': colors.blue.darken2 // 列表悬停背景
        }
      }
    }
  },
  icons: {
    defaultSet: 'mdi',
    aliases,
    sets: {
      mdi
    }
  }
})
